﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using DTO;
using DAO;
using System.Data;

namespace BLO
{
    public class HoaDonBan_Blo
    {
        private readonly HoaDonBan_Dao _hoaDonBanDao = new HoaDonBan_Dao();
        public DataSet GetAllObject()
        {
            return _hoaDonBanDao.GetAllObject();
        }

        public int AddObject(string mahdb, string ngayban, string manv, string makh, string masp, int soluong, int khuyenmai, decimal giaban)
        {
            if (string.IsNullOrEmpty(mahdb) || string.IsNullOrEmpty(ngayban) || string.IsNullOrEmpty(makh) || string.IsNullOrEmpty(masp))
                return -1;
            return _hoaDonBanDao.AddObject(mahdb, ngayban, manv, makh, masp, soluong, khuyenmai, giaban);
        }

        public int EditObject(string mahdb, string ngayban, string manv, string makh, string masp, int soluong, decimal giaban, int khuyenmai)
        {
            if(string.IsNullOrEmpty(mahdb) || string.IsNullOrEmpty(ngayban) || string.IsNullOrEmpty(makh) || string.IsNullOrEmpty(masp) || soluong < 0 || soluong > int.MaxValue
                || giaban < 0 || giaban > decimal.MaxValue || khuyenmai < 0 || string.IsNullOrEmpty(manv))
                return -1;
            return _hoaDonBanDao.EditObject(mahdb,ngayban, manv, makh, masp, soluong, giaban, khuyenmai);
        }
                    
        public int DeleteObject(string mdHdn)
        {
            if (string.IsNullOrEmpty(mdHdn))
                return -1;
            return _hoaDonBanDao.DeleteObject(mdHdn);
        }

        public int AutoIncrementIdObject()
        {
            return _hoaDonBanDao.AutoIncrementIdObject();
        }

        public IList<HoaDonBan_Dto> GetHoaDonBans(string maMH, int quy)
        {
            if (string.IsNullOrEmpty(maMH)) return null;

            return _hoaDonBanDao.GetHoaDonBans(maMH, quy);
        }

        //Báo cáo doanh thu của cửa hàng theo nhân viên và tháng chọn trước.
        public DataSet GetDoanhThu(string manv, int thang)
        {
            if (string.IsNullOrEmpty(manv))
                return null;
            return _hoaDonBanDao.GetDoanhThu(manv, thang);
        }
    }
}
